<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>for 循环</title>
</head>
<body>
  <script>
    for(let j=0;j<10;j++){
      // 输出 10 行 10 个星号
      let str = '';
      for(let i=0;i<10;i++){
        //每循环一次, 向 str 中追加一个 * 
        str += '*';
      }
      console.log(str);
    }

    /**
     * 需求: 输出 10 行的 *
     * 要求: 
     * 1     *
     * 2     **
     * 3     ***
     * 4     ****
     * .
     * .
     * 10    
     */
    //for 循环
    // for(let i=1;i<=10;i++){
    //   //这里输出每行的 * 
    //   //这里测试输出 5 个 *
    //   let str = '';
    //   for(let j=0;j<i;j++){
    //     str += '*';
    //   }
    //   console.log(str);
    // }

    /**
     * 需求: 输出 10 行的 *
     * 要求:
     * i                 j 
     * 1     *           1   =>     j = i * 2 - 1;
     * 2     ***         3
     * 3     *****       5
     * 4     *******     7
     * .
     * .
     * 10    
     * 
     * 
    
     */
    // for(let i=1;i<=10;i++){
    //   // 固定个数的 * 输出 5 个   
    //   let str = '';
    //   for(let j=0;j<i*2-1;j++){
    //     str += '*';
    //   }
    //   //输出
    //   console.log(str);
    // }

    /**
     * 
     * i                 j 
     * 1     *           1      j = 2^(i-1)
     * 2     ***         2
     * 3     *****       4
     * 4     *******     8
     * .                 16
     * .
     * 10  
     */
    // for(let i=1;i<=10;i++){
    //   // 固定个数的 * 输出 5 个   
    //   let str = '';
    //   for(let j=0;j< 2 ** (i-1);j++){
    //     str += '*';
    //   }
    //   //输出
    //   console.log(str);
    // }


    /**
     * 总行数 4 
     * 1           *      3 
     * 2          **      2
     * 3         ***      1
     * 4        ****      0
     */
    //声明一个变量, 表示总行数
    let total = 20;
    for(let i=1;i<=total;i++){
      let str = '';
      //循环拼接空格
      for(let k=0;k<total-i;k++){
        str += ' ';
      }
      //循环拼接 *
      for(let j=0;j<i;j++){
        str += '*';
      }
      //输出 
      console.log(str);
    }
  </script>
</body>
</html>